package com.yfp.operation.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yfp.common.core.domain.ResponseEnum;
import com.yfp.operation.domain.ClientCoupon;
import com.yfp.operation.domain.dto.LengthenDateDTO;

import java.util.List;

/**
 *
 * @description 针对表【client_coupon(客户优惠券)】的数据库操作Service
 * @createDate 2024-07-12 15:49:29
 */
public interface ClientCouponService extends IService<ClientCoupon> {
    /**
     * 后台退 优惠券
     *
     * @param orderListId
     * @return
     */
    void refund(String orderListId);


    /**
     * 修改优惠券状态
     *
     * @param id
     * @param status
     */
    void updateStatusById(Long id, Integer status);

    /**
     * 调用存储过程
     */
    void callUpdateClientCouponStatus();

    /**
     * 延长时间
     *
     * @param lengthenDateDTO
     */
    void lengthen(LengthenDateDTO lengthenDateDTO);

    /**
     * 根据礼包id和客户id集合查询优惠券
     *
     * @param couponPackId
     * @param clientIds
     * @return
     */
    List<ClientCoupon> listByCouponPackIdAndClientIds(Long couponPackId, List<String> clientIds);

    /**
     * 核销实体券
     * @param ccId 客户领取表id
     * @return
     */
    ResponseEnum verification(Long ccId);

    /**
     * 储值优惠券失效
     * @param cbId
     */
    void storedCouponExpire(Long cbId);
}
